
const path = require('path')
function resolve(dir) {
  return path.join(__dirname, dir)
}
function guid() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    var r = Math.random() * 16 | 0
        var v = c === 'x' ? r : (r & 0x3 | 0x8)
    return v.toString(16)
  })
}

const name = '服务监听' // page title
const port = process.env.port || process.env.npm_config_port || 8080 // dev port
const public_path = process.env.NODE_ENV === 'production' ? '../../' : './'
module.exports = {
  pluginOptions: {
    electronBuilder: {
      preload: 'src/preload.js', // 预载
      customFileProtocol: './', // 自定义文件协议路径
      builderOptions: {
        appId: 'com.zjpowerhealth.server.listen.dock.ng' + guid(), // 包名
        productName: 'server-listen', // 生成exe的名字
        copyright: 'Copyright © 2022 Pro World Health', // 版权信息
        asar: true, // 加密打包
        defaultArch: 'all',
        compression: 'normal', // "store" | "normal"| "maximum" 打包压缩情况(store 相对较快)
        directories: {
          output: './dist_electron' // 输出文件路径
        },
        win: {
          publisherName: 'Pro World Health',
          icon: 'src/assets/logo.ico', // 应用图标
          // 是否在安装前对可用的更新进行签名验证。发布者名称将用于签名验证。
          verifyUpdateCodeSignature: false,
          // 使用的签名算法数组。对于AppX, sha256总是被使用。
          target: [
            'portable'
          ] // 无需安装，点击直接运行
          // publish: [{
          //   'provider': 'generic',
          //   'url': process.env.VUE_APP_UPDATE_URL
          // }]
        }
      }
    }
  },
  publicPath: public_path,
  outputDir: 'dist',
  assetsDir: 'static',
  lintOnSave: true,
  productionSourceMap: false,
  devServer: {
    port: port,
    proxy: {
      [process.env.VUE_APP_BASE_API]: {
        // target: 'http://192.168.110.41:8105',
        target: 'http://114.55.112.77:8092/mbgl',
        // target: 'http://xs.zjpowerhealth.cn:8018/mbgl',
        changeOrigin: true,
        ws: true,
        secure: false,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''
        }
      }
    }
  },
  configureWebpack: {
    name: name,
    resolve: {
      alias: {
        '@': resolve('src')
      }
    }
  }
}
